ROMs (Read-Only Memories) are used in a wide variety of applications, from the BIOS of personal computers to the firmware of consumer electronics devices such as DVD players. The primary distinction between ROMs is whether, and how many times, they can be programmed. The content of a mask ROM is determined by a physical mask used when fabricating the mask ROM. The content of the mask ROM is thus hardwired and cannot be changed after fabrication. Making any changes to future ROMs requires the creation of new masks, an expensive process, and existing ROMs may need to be discarded. Mask ROMs, however, have the advantage of being the least expensive form of ROM to produce.
Another form of ROM is a programmable ROM (PROM). A PROM contains internal fuses that are blown to program the chip. An erasable PROM (EPROM) was developed to allow a ROM to be used more than once. These often rely on ultra-violet light shining on the chip through a transparent window in the packaging. Using ultra-violet lamps is impractical for most consumers, and having to physically place an EPROM under a lamp is inconvenient even for sophisticated users.
Electrically erasable PROMs (EEPROMs) were developed, which could be erased in place without extra equipment. A variant of the EEPROM is Flash ROM, which can be programmed a great number of times. This convenience comes at the expense of greater cost, making it less than ideal for inexpensive mass production. A modern version of the EPROM is one time programmable (OTP) memory, which can generally only be programmed once. Sacrificing the ability to re-program yields a lower cost for the OTP. OTP memory may, however, be programmed section by section, yielding a pseudo-reprogramming capability (similar to a multi-session CD-R).